
package com.zhisheng.gufei.produce.entity;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

/**
 * 单位的基本信息
 * 
 * @author xgye
 * @date 2009-9-10
 * @version $Id$
 */
@Entity
@Table(name = "gf_baseinfo")
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
public class BaseInformation {
    
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator="seq")   
    @SequenceGenerator(name="seq", sequenceName="DECLARATION_SEQ") 
    private int id;
    
    /** 单位年度总产值 */
    private Float corporationGav = 0f;
    
    /** 环保设施价值 */
    private Float facilitiesValue = 0f;
    
    /** 缴纳排污费用 */
    private Float sewageFees = 0f;
    
    private Integer staffCount;
    
    /** 专职环保人员 */
    private Integer environmentalCount;
    
    /** 占地面积 */
    private Float floorArea;
    
    /** 生产天数 */
    private Integer produceDays;
    
    /** 年废物转移频次 */
    private Integer transferFrequency;
    
    /** 计划转移时间 */
    private Date planDate;
    
    /** 废物利用综合产值 */
    private Float dsGav = 0f;
    
    /** 废物利用综合利润 */
    private Float dsProfit = 0f;
    
    /** 废物产生的工艺说明 */
    private String produceDescription;
    
    /** 单位的承诺意见 */
    private String corporationPromise;
    
    /** 
     * 主要产品名称，单位及产量，最多三个，以","分隔
     * 同一类型内用":"分隔 
     * */
    private String mainProduceInfo;
    
    /** 同上，持久主要消耗品信息 */
    private String mainConsumeInfo;
    
    
    @OneToOne
    @JoinColumn(name="corperationId",nullable=false)
    private Declaration corperation;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Float getCorporationGav() {
        return corporationGav;
    }

    public void setCorporationGav(Float corporationGav) {
        this.corporationGav = corporationGav;
    }

    public Float getFacilitiesValue() {
        return facilitiesValue;
    }

    public void setFacilitiesValue(Float facilitiesValue) {
        this.facilitiesValue = facilitiesValue;
    }

    public Float getSewageFees() {
        return sewageFees;
    }

    public void setSewageFees(Float sewageFees) {
        this.sewageFees = sewageFees;
    }

    public Integer getStaffCount() {
        return staffCount;
    }

    public void setStaffCount(Integer staffCount) {
        this.staffCount = staffCount;
    }

    public Integer getEnvironmentalCount() {
        return environmentalCount;
    }

    public void setEnvironmentalCount(Integer environmentalCount) {
        this.environmentalCount = environmentalCount;
    }

    public Float getFloorArea() {
        return floorArea;
    }

    public void setFloorArea(Float floorArea) {
        this.floorArea = floorArea;
    }

    public Integer getProduceDays() {
        return produceDays;
    }

    public void setProduceDays(Integer produceDays) {
        this.produceDays = produceDays;
    }

    public Integer getTransferFrequency() {
        return transferFrequency;
    }

    public void setTransferFrequency(Integer transferFrequency) {
        this.transferFrequency = transferFrequency;
    }

    public Date getPlanDate() {
        return planDate;
    }

    public void setPlanDate(Date planDate) {
        this.planDate = planDate;
    }

    public Float getDsGav() {
        return dsGav;
    }

    public void setDsGav(Float dsGav) {
        this.dsGav = dsGav;
    }

    public Float getDsProfit() {
        return dsProfit;
    }

    public void setDsProfit(Float dsProfit) {
        this.dsProfit = dsProfit;
    }

    public String getProduceDescription() {
        return produceDescription;
    }

    public void setProduceDescription(String produceDescription) {
        this.produceDescription = produceDescription;
    }

    public String getCorporationPromise() {
        return corporationPromise;
    }

    public void setCorporationPromise(String corporationPromise) {
        this.corporationPromise = corporationPromise;
    }

    public Declaration getCorperation() {
		return corperation;
	}

	public void setCorperation(Declaration corperation) {
		this.corperation = corperation;
	}

	public String getMainProduceInfo() {
        return mainProduceInfo;
    }

    public void setMainProduceInfo(String mainProduceInfo) {
        this.mainProduceInfo = mainProduceInfo;
    }

    public String getMainConsumeInfo() {
        return mainConsumeInfo;
    }

    public void setMainConsumeInfo(String mainConsumeInfo) {
        this.mainConsumeInfo = mainConsumeInfo;
    }

}
